/* ==================================================================
 * WQuake 浅色模式插件 —— theme.css
 * 由宿主注入主文档（权限 ui:theme）。启用时追加到 <head> 末尾，禁用时移除。
 * 颜色可由插件设置调整：宿主会把设置项注入为 --wqp-* 变量（见 settings.schema.json）。
 *
 * 设计要点：
 *  - 地图是 Leaflet 矢量绘制（SVG path），基础陆地 fill=#474747 / 描边 stroke=#ffffff，
 *    用属性选择器精准改色，不会影响预警烈度上色（那时 path 的 fill 已变为烈度色）。
 *  - 面板文字大量硬编码为白色，这里逐类改为深色；带强调底色的标题/徽标保留白字。
 *  - 语义颜色（震级色 --accent-color、烈度色等由 JS 内联设置）一律不动。
 * ================================================================== */

/* ============ 0) 主题变量别名（简写） ============ */
:root {
  /* 标记：通知宿主将 Ant Design 切换为亮色算法（开关/按钮/图标/输入框等变浅） */
  --wq-ui-scheme: light;
  color-scheme: light;
  --lt-page: var(--wqp-pageBg, #f8f9fa);
  --lt-panel: var(--wqp-panelBg, #ffffff);
  --lt-text: var(--wqp-text, #1f2329);
  --lt-text2: var(--wqp-textSecondary, #5c6370);
  --lt-border: var(--wqp-border, #d7dce3);
  --lt-accent: var(--wqp-accent, #4096ff);
  --lt-map-sea: var(--wqp-mapBg, #f8f9fa);
  --lt-map-land: var(--wqp-mapLand, #dfe3ea);
  --lt-map-border: var(--wqp-mapBorder, #aeb7c4);
  /* 浮层面板浅色半透明底：让毛玻璃/液态玻璃的 backdrop-filter 能透出背景 */
  --lt-panel-glass: rgba(255, 255, 255, 0.44);
  --lt-panel-translucent: rgba(255, 255, 255, 0.72);
  --lt-panel-liquid: rgba(255, 255, 255, 0.28);
  --lt-panel-liquid-advanced: rgba(255, 255, 255, 0.2);

  /* 设置页控件统一走宿主预留的 chrome 变量，避免逐个组件硬覆盖。 */
  --chrome-modal-bg: rgba(255, 255, 255, 0.76);
  --chrome-modal-bg-translucent: rgba(255, 255, 255, 0.9);
  --chrome-modal-bg-liquid: rgba(255, 255, 255, 0.62);
  --chrome-modal-bg-liquid-adv: rgba(255, 255, 255, 0.52);
  --chrome-modal-border: var(--lt-border);
  --chrome-sidebar-bg: rgba(248, 249, 250, 0.92);
  --chrome-card-bg: rgba(255, 255, 255, 0.46);
  --chrome-card-bg-hover: rgba(255, 255, 255, 0.64);
  --chrome-card-border: rgba(174, 183, 196, 0.72);
  --chrome-card-border-strong: #aeb7c4;
  --chrome-card-glow: rgba(22, 119, 255, 0.16);
  --chrome-input-bg: rgba(31, 35, 41, 0.035);
  --chrome-input-bg-solid: #ffffff;
  --chrome-input-bg-strong: rgba(22, 119, 255, 0.055);
  --chrome-input-border: var(--lt-border);
  --chrome-input-border-solid: var(--lt-border);
  --chrome-input-border-strong: #9ca8b8;
  --chrome-input-border-focus: var(--lt-accent);
  --chrome-input-focus-ring: rgba(22, 119, 255, 0.14);
  --chrome-input-text: var(--lt-text);
  --chrome-handler-bg: #f3f5f8;
  --chrome-handler-bg-hover: #e8eef7;
  --chrome-handler-border: var(--lt-border);
  --chrome-handler-icon: var(--lt-text2);
  --chrome-switch-off: #c5ccd6;
  --chrome-switch-on: var(--lt-accent);
  --chrome-switch-knob: #ffffff;
  --chrome-switch-knob-on: #ffffff;
  --chrome-track: #d7dce3;
  --chrome-track-fill: var(--lt-accent);
  --chrome-thumb: #ffffff;
  --chrome-thumb-border: var(--lt-accent);
  --chrome-seg-bg: #f1f3f6;
  --chrome-seg-border: var(--lt-border);
  --chrome-seg-active: rgba(22, 119, 255, 0.12);
  --chrome-seg-text: var(--lt-text);
  --chrome-preview-container: #e8ecf1;
  --chrome-preview-map: #d7dde5;
}

/* ============ 1) 覆盖 WQuake 全局主题变量 ============ */
:root {
  --bg-base: var(--lt-page) !important;
  --bg-panel: var(--lt-panel) !important;
  --bg-elevated: var(--lt-panel) !important;
  --bg-deep: var(--lt-map-sea) !important;
  --text-primary: var(--lt-text) !important;
  --text-secondary: var(--lt-text2) !important;
  --border-primary: var(--lt-border) !important;
  --border-secondary: var(--lt-border) !important;
  --accent-white: var(--lt-accent) !important;
  --accent-soft: var(--lt-panel) !important;
}

body {
  background: var(--lt-page) !important;
  color: var(--lt-text) !important;
}

/* ============ 2) 地图 ============ */
/* 注意：地图为 Leaflet canvas 渲染（preferCanvas + L.canvas），陆地/边界是
 * 像素画在 <canvas> 上的，CSS 无法改色。陆地填充色(--wqp-mapLand)与
 * 边界色(--wqp-mapBorder)由宿主 App.vue 读取后 setStyle 重绘（见该文件
 * readMapPalette / reapplyMapTheme）。这里只能控制可用 CSS 改的部分。 */
/* 2a) 海洋 / 空白底色（地图容器背景，canvas 未覆盖处透出） */
#map,
.leaflet-container {
  background: var(--lt-map-sea) !important;
}
/* 2b) 地图文字标签：浅底上改用深色 + 白色描边阴影保证可读 */
.map-label {
  color: var(--lt-text) !important;
  text-shadow: 1px 1px 2px #fff, -1px -1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff !important;
}
/* 2c) 本地位置定位标记：内联白色圆环 → 深灰（!important 覆盖内联 border） */
.local-position-icon > div,
.local-position-icon div {
  border-color: #4a4a4a !important;
}

/* ============ 3) 浮层面板容器：深底 → 浅底 ============ */
.eew-idle,
.eew-active,
.weak-reaction-card,
.history-panel,
.history-collapsed-bar,
.shindo-panel,
.hazard-col,
.local-arrival-card,
.multi-hazard-bar .hazard-col,
.earthquake-info-panel,
.intensity-legend,
.home-btn,
.settings-button,
.test-btn,
.replay-download-toast {
  /* 浅色半透明底（非纯白），保留基础 backdrop-filter blur → 浅色毛玻璃 */
  background:
    radial-gradient(circle at 14% 0%, rgba(255, 255, 255, 0.58), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0.32)) !important;
  color: var(--lt-text) !important;
  border-color: var(--lt-border) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12) !important;
}
/* 空闲态包裹弱反应时保持透明外壳 */
.eew-idle.is-weak-reaction-wrapper {
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* ============ 3.5) 玻璃质感模式适配（毛玻璃 / 半透明 / 液态玻璃） ============ */
/* 说明：宿主 body 上会挂 glass-translucent / glass-liquid(.glass-liquid-advanced) 类，
 *  且用 `body.glass-xxx .面板`（specificity 0,2,1）把面板刷成深色 rgba(20,20,20,.85)。
 *  纯浅色主题必须用同等 specificity 且在其后加载才能覆盖成浅色。
 *  - 毛玻璃(默认 frosted，无 body class)：由上方 section 3 的浅色半透明 + 基础 blur 实现。 */

/* 半透明模式：深色底 → 浅色半透明底（对齐宿主选择器列表） */
body.glass-translucent .eew-idle,
body.glass-translucent .eew-active,
body.glass-translucent .hazard-panel,
body.glass-translucent .hazard-detail-overlay,
body.glass-translucent .hazard-col,
body.glass-translucent .local-arrival-card,
body.glass-translucent .history-panel,
body.glass-translucent .history-collapsed-bar,
body.glass-translucent .weak-reaction-card,
body.glass-translucent .history-compact-panel,
body.glass-translucent .history-compact-bottom-bar,
body.glass-translucent .earthquake-info-panel,
body.glass-translucent .shindo-panel,
body.glass-translucent .settings-trigger-btn,
body.glass-translucent .settings-button,
body.glass-translucent .time-display,
body.glass-translucent .time-display-alt,
body.glass-translucent .classic-time-display,
body.glass-translucent .ws-time-display,
body.glass-translucent .data-source-tag,
body.glass-translucent .intensity-legend,
body.glass-translucent .home-btn {
  background: var(--lt-panel-translucent) !important;
  color: var(--lt-text) !important;
  border-color: rgba(174, 183, 196, 0.78) !important;
  box-shadow: 0 5px 18px rgba(15, 23, 42, 0.13) !important;
}
/* 绿色强调头保留（浅色版半透明绿，白字） */
body.glass-translucent .weak-reaction-header-bar {
  background: rgba(60, 191, 110, 0.85) !important;
}

/* 液态玻璃模式：宿主只加强 backdrop-filter、不改背景色，这里给更通透的浅色底让液态效果显现 */
body.glass-liquid .eew-idle,
body.glass-liquid .eew-active,
body.glass-liquid .hazard-panel,
body.glass-liquid .hazard-detail-overlay,
body.glass-liquid .hazard-col,
body.glass-liquid .local-arrival-card,
body.glass-liquid .history-panel,
body.glass-liquid .history-collapsed-bar,
body.glass-liquid .weak-reaction-card,
body.glass-liquid .history-compact-panel,
body.glass-liquid .history-compact-bottom-bar,
body.glass-liquid .earthquake-info-panel,
body.glass-liquid .shindo-panel,
body.glass-liquid .settings-trigger-btn,
body.glass-liquid .settings-button,
body.glass-liquid .time-display,
body.glass-liquid .time-display-alt,
body.glass-liquid .classic-time-display,
body.glass-liquid .ws-time-display,
body.glass-liquid .data-source-tag,
body.glass-liquid .intensity-legend,
body.glass-liquid .home-btn,
body.glass-liquid .locate-btn {
  background:
    radial-gradient(circle at 12% -8%, rgba(255, 255, 255, 0.46), transparent 40%),
    radial-gradient(circle at 94% 112%, rgba(100, 165, 255, 0.12), transparent 44%),
    var(--lt-panel-liquid) !important;
  color: var(--lt-text) !important;
  border-color: rgba(255, 255, 255, 0.66) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.58), 0 7px 22px rgba(15, 23, 42, 0.14) !important;
}

body.glass-liquid.glass-liquid-advanced .eew-idle,
body.glass-liquid.glass-liquid-advanced .eew-active,
body.glass-liquid.glass-liquid-advanced .hazard-panel,
body.glass-liquid.glass-liquid-advanced .hazard-detail-overlay,
body.glass-liquid.glass-liquid-advanced .hazard-col,
body.glass-liquid.glass-liquid-advanced .local-arrival-card,
body.glass-liquid.glass-liquid-advanced .history-panel,
body.glass-liquid.glass-liquid-advanced .history-collapsed-bar,
body.glass-liquid.glass-liquid-advanced .weak-reaction-card,
body.glass-liquid.glass-liquid-advanced .history-compact-panel,
body.glass-liquid.glass-liquid-advanced .history-compact-bottom-bar,
body.glass-liquid.glass-liquid-advanced .earthquake-info-panel,
body.glass-liquid.glass-liquid-advanced .shindo-panel,
body.glass-liquid.glass-liquid-advanced .settings-trigger-btn,
body.glass-liquid.glass-liquid-advanced .settings-button,
body.glass-liquid.glass-liquid-advanced .data-source-tag,
body.glass-liquid.glass-liquid-advanced .intensity-legend,
body.glass-liquid.glass-liquid-advanced .home-btn,
body.glass-liquid.glass-liquid-advanced .locate-btn {
  background:
    radial-gradient(circle at 10% -10%, rgba(255, 255, 255, 0.5), transparent 38%),
    radial-gradient(circle at 98% 108%, rgba(80, 145, 255, 0.14), transparent 42%),
    radial-gradient(circle at 76% 10%, rgba(255, 125, 190, 0.065), transparent 34%),
    var(--lt-panel-liquid-advanced) !important;
  border-color: rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.68),
    inset 0 -1px 0 rgba(15, 23, 42, 0.08),
    0 9px 28px rgba(15, 23, 42, 0.17),
    0 0 34px rgba(80, 150, 255, 0.07) !important;
}

/* ============ 4) 时间栏（保留断连红 / 回放橙等状态色） ============ */
.ws-time-display,
.classic-time-display {
  background: rgba(255, 255, 255, 0.56) !important;
  border-color: var(--lt-border) !important;
  color: var(--lt-text) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12) !important;
}
.ws-time-display.connected,
.classic-time-display.connected {
  color: #237804 !important;
  border-color: rgba(82, 196, 26, 0.42) !important;
  background: rgba(246, 255, 237, 0.58) !important;
}
body .ws-time-display.disconnected,
body .classic-time-display.disconnected,
body .ws-time-display.limit-exceeded,
body .classic-time-display.limit-exceeded,
body .ws-time-display.ntp-unsynced,
body .classic-time-display.ntp-unsynced {
  color: #cf1322 !important;
  border-color: rgba(255, 77, 79, 0.42) !important;
  background: rgba(255, 241, 240, 0.6) !important;
}
body .ws-time-display.station-failed,
body .classic-time-display.station-failed,
body .ws-time-display.replay-active,
body .classic-time-display.replay-active {
  color: #d46b08 !important;
  border-color: rgba(250, 140, 22, 0.42) !important;
  background: rgba(255, 247, 230, 0.6) !important;
}
body.glass-translucent .ws-time-display.connected,
body.glass-translucent .classic-time-display.connected {
  background: rgba(246, 255, 237, 0.74) !important;
}
body.glass-translucent .ws-time-display.disconnected,
body.glass-translucent .classic-time-display.disconnected,
body.glass-translucent .ws-time-display.limit-exceeded,
body.glass-translucent .classic-time-display.limit-exceeded,
body.glass-translucent .ws-time-display.ntp-unsynced,
body.glass-translucent .classic-time-display.ntp-unsynced {
  background: rgba(255, 241, 240, 0.76) !important;
}
body.glass-liquid .ws-time-display.connected,
body.glass-liquid .classic-time-display.connected {
  background: rgba(235, 255, 224, 0.32) !important;
}
body.glass-liquid .ws-time-display.disconnected,
body.glass-liquid .classic-time-display.disconnected,
body.glass-liquid .ws-time-display.limit-exceeded,
body.glass-liquid .classic-time-display.limit-exceeded,
body.glass-liquid .ws-time-display.ntp-unsynced,
body.glass-liquid .classic-time-display.ntp-unsynced {
  background: rgba(255, 226, 224, 0.34) !important;
}
body.glass-liquid .ws-time-display.station-failed,
body.glass-liquid .classic-time-display.station-failed,
body.glass-liquid .ws-time-display.replay-active,
body.glass-liquid .classic-time-display.replay-active {
  background: rgba(255, 237, 204, 0.34) !important;
}
body.glass-liquid.glass-liquid-advanced .ws-time-display.connected,
body.glass-liquid.glass-liquid-advanced .classic-time-display.connected {
  background: rgba(230, 255, 215, 0.24) !important;
}
body.glass-liquid.glass-liquid-advanced .ws-time-display.disconnected,
body.glass-liquid.glass-liquid-advanced .classic-time-display.disconnected,
body.glass-liquid.glass-liquid-advanced .ws-time-display.limit-exceeded,
body.glass-liquid.glass-liquid-advanced .classic-time-display.limit-exceeded,
body.glass-liquid.glass-liquid-advanced .ws-time-display.ntp-unsynced,
body.glass-liquid.glass-liquid-advanced .classic-time-display.ntp-unsynced {
  background: rgba(255, 220, 218, 0.26) !important;
}
/* 模拟发报中：与回放同款琥珀色；置于本节末尾，以更高/更晚的优先级
   盖住 connected(绿) / 断连·NTP·超限(红) / station-failed 等所有状态色。 */
body .ws-time-display.sim-active,
body .classic-time-display.sim-active {
  color: #d46b08 !important;
  border-color: rgba(250, 140, 22, 0.5) !important;
  background: rgba(255, 247, 230, 0.66) !important;
  cursor: pointer;
}
body.glass-translucent .ws-time-display.sim-active,
body.glass-translucent .classic-time-display.sim-active {
  background: rgba(255, 247, 230, 0.78) !important;
}
body.glass-liquid .ws-time-display.sim-active,
body.glass-liquid .classic-time-display.sim-active,
body.glass-liquid.glass-liquid-advanced .ws-time-display.sim-active,
body.glass-liquid.glass-liquid-advanced .classic-time-display.sim-active {
  background: rgba(255, 237, 204, 0.34) !important;
}

/* ============ 5) 面板内文字：白/灰 → 深色（逐类枚举，避免动语义色） ============ */
/* 5a) EEW 预警栏 */
.idle-text,
.today-header-title,
.today-mag-display,
.today-location-compact,
.today-depth-compact,
.today-time-compact,
.today-source-compact,
.eew-location,
.eew-geolocation,
.eew-time,
.eew-meta,
.eew-mag,
.eew-depth,
.eew-source,
.info-type-name {
  color: var(--lt-text) !important;
}
.today-depth-compact,
.today-source-compact,
.eew-source {
  background: rgba(0, 0, 0, 0.05) !important;
}
/* 5b) 历史栏 */
.history-title,
.history-location,
.history-time,
.history-source,
.history-depth,
.history-mag-display,
.history-meta,
.history-empty,
.history-collapsed-bar {
  color: var(--lt-text) !important;
}
.history-time,
.history-meta,
.history-empty {
  color: var(--lt-text2) !important;
}
.history-item,
.history-earthquake-item {
  background: rgba(0, 0, 0, 0.04) !important;
  border: none !important;
}
.history-depth {
  background: rgba(0, 0, 0, 0.06) !important;
}
/* 5c) 弱有感栏 */
.weak-reaction-body,
.weak-reaction-locations,
.weak-reaction-locations span,
.weak-reaction-item {
  color: var(--lt-text) !important;
}
.weak-reaction-item,
.weak-reaction-section {
  background: rgba(0, 0, 0, 0.04) !important;
}
/* 5d) 实时震度栏（数值颜色为语义色，不动 .max-shindo-value） */
.shindo-title,
.max-shindo-label,
.shindo-empty .loading-text {
  color: var(--lt-text) !important;
}
.max-shindo-label,
.shindo-empty .loading-text {
  color: var(--lt-text2) !important;
}
.shindo-header {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0)) !important;
  border-bottom-color: var(--lt-border) !important;
}
/* 5e) 底部多灾种栏（表头为渐变强调色，保留白字） */
.hazard-col-item-text,
.hazard-col-item-meta,
.hazard-col-item-desc,
.hazard-col-empty {
  color: var(--lt-text) !important;
}
.hazard-col-item-meta,
.hazard-col-item-desc,
.hazard-col-empty {
  color: var(--lt-text2) !important;
}
/* 5f) 本地到达时间卡片（.local-arrival-intensity 为语义色，不动） */
.local-arrival-index,
.local-arrival-label,
.local-arrival-time {
  color: var(--lt-text) !important;
}
.local-arrival-index,
.local-arrival-label {
  color: var(--lt-text2) !important;
}
.local-arrival-divider {
  background: rgba(0, 0, 0, 0.12) !important;
}
/* 5g) 海啸横幅内容区（黑底 → 浅底） */
.tsunami-body {
  background: var(--lt-panel) !important;
}
.tsunami-area-item {
  background: rgba(0, 0, 0, 0.05) !important;
}
.tsunami-legend-label,
.tsunami-area-name {
  color: var(--lt-text) !important;
}
/* 5h) 图例文字 */
.legend-title,
.legend-roman,
.legend-label,
.legend-label-r,
.legend-section-title {
  color: var(--lt-text) !important;
}

/* ============ 6) 保留白字：强调底色的标题栏 / 徽标 / 烈度框 ============ */
.eew-header-bar,
.eew-header-bar *,
.eew-header-title,
.eew-header-indicator,
.eew-header-source,
.eew-header-report,
.eew-header-tag,
.eew-intensity-box,
.today-mag-badge,
.history-magnitude,
.hyp-intensity-box,
.weak-reaction-header-bar,
.weak-reaction-header-bar *,
.weak-reaction-title,
.weak-reaction-count,
.hazard-col-header,
.hazard-col-header *,
.hazard-col-label,
.tsunami-header.red,
.tsunami-header.red *,
.tsunami-header.purple,
.tsunami-header.purple * {
  color: #ffffff !important;
}
.tsunami-header.yellow,
.tsunami-header.yellow * {
  color: #000000 !important;
}

/* 主界面子标题层也使用玻璃，而不是叠加不透明灰条。 */
.shindo-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.06)) !important;
  border-bottom-color: rgba(174, 183, 196, 0.62) !important;
}
.hazard-col:not(.has-data) > .hazard-col-header {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.12)) !important;
  border-bottom: 1px solid rgba(174, 183, 196, 0.46) !important;
}
.hazard-col:not(.has-data) > .hazard-col-header,
.hazard-col:not(.has-data) > .hazard-col-header * {
  color: var(--lt-text) !important;
  text-shadow: none !important;
}
.hazard-col.has-data > .hazard-col-header,
.hazard-col.has-data > .hazard-col-header * {
  color: #ffffff !important;
}
body.glass-translucent .shindo-header,
body.glass-translucent .hazard-col:not(.has-data) > .hazard-col-header {
  background: rgba(255, 255, 255, 0.34) !important;
}
body.glass-liquid .shindo-header,
body.glass-liquid .hazard-col:not(.has-data) > .hazard-col-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.045)) !important;
  backdrop-filter: blur(5px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(5px) saturate(155%) !important;
}
body.glass-liquid.glass-liquid-advanced .shindo-header,
body.glass-liquid.glass-liquid-advanced .hazard-col:not(.has-data) > .hazard-col-header {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.17), rgba(255, 255, 255, 0.025)) !important;
  border-bottom-color: rgba(255, 255, 255, 0.5) !important;
}
.home-btn:hover,
.settings-button:hover,
.settings-trigger-btn:hover {
  background: rgba(255, 255, 255, 0.62) !important;
  color: var(--lt-accent) !important;
  border-color: rgba(22, 119, 255, 0.34) !important;
}
body.glass-liquid .home-btn:hover,
body.glass-liquid .settings-button:hover,
body.glass-liquid .settings-trigger-btn:hover {
  background: rgba(255, 255, 255, 0.4) !important;
}

/* ============ 7) 设置弹窗（App.vue 使用 Ant a-modal + a-menu；wrap-class-name=settings-modal-wrap） ============ */
/* 7a) 容器背景：外层负责玻璃，内部保持透明，避免遮住 backdrop-filter。 */
.settings-modal-wrap .ant-modal-content {
  background: var(--chrome-modal-bg) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 48px rgba(15, 23, 42, 0.18) !important;
}
.settings-modal-wrap .ant-modal-body,
.settings-modal-body,
.settings-content-scroll {
  background: transparent !important;
}
/* 头部 + 侧栏 + Ant 菜单 用页面底色 */
.settings-modal-wrap .ant-modal-header,
.settings-sidebar,
.settings-menu,
.settings-menu.ant-menu,
.settings-menu.ant-menu-inline {
  background: rgba(248, 249, 250, 0.52) !important;
}
.settings-modal-wrap .ant-modal-content,
.settings-modal-wrap .ant-modal-header,
.settings-modal-body,
.settings-content-scroll,
.settings-sidebar,
.settings-menu.ant-menu-inline {
  border-color: var(--lt-border) !important;
}
/* 7b) 设置弹窗继承深色文字；控件内部状态色由 Ant token / chrome 变量负责。 */
.settings-modal-wrap {
  color: var(--lt-text) !important;
}
/* 部分 Ant 组件文字选择器 specificity 高于 `.wrap *`，逐一提权覆盖 */
.settings-modal-wrap .ant-typography,
.settings-modal-wrap .ant-form-item-label > label,
.settings-modal-wrap .ant-radio-wrapper,
.settings-modal-wrap .ant-checkbox-wrapper,
.settings-modal-wrap .ant-segmented-item-label,
.settings-modal-wrap .ant-segmented-item-selected .ant-segmented-item-label,
.settings-modal-wrap .ant-select-selection-item,
.settings-modal-wrap .ant-select-selection-placeholder,
.settings-modal-wrap .ant-input-number-input,
.settings-modal-wrap .ant-slider-mark-text,
.settings-modal-wrap .ant-btn,
.settings-modal-wrap .ant-menu-title-content {
  color: var(--lt-text) !important;
}
/* 7c) 次要 / 提示文字回退浅灰 */
.settings-content-scroll .input-label,
.settings-content-scroll .input-unit,
.settings-content-scroll .size-hint,
.settings-content-scroll .threshold-unit,
.settings-content-scroll .source-hint,
.settings-content-scroll .api-hint,
.settings-content-scroll .api-notice,
.settings-content-scroll .version-label,
.settings-content-scroll .progress-text,
.settings-content-scroll .ps-item-desc,
.settings-content-scroll .pm-desc,
.settings-content-scroll .pm-ver,
.settings-content-scroll .pm-author,
.settings-content-scroll .pm-perm-label,
.settings-content-scroll .ps-ver,
.settings-content-scroll .ps-color-val {
  color: var(--lt-text2) !important;
}
/* 7d) Ant 菜单侧栏项（一般 / 功能 / 高级 / 插件 / 关于） */
.settings-menu .ant-menu-item {
  color: var(--lt-text2) !important;
}
.settings-menu .ant-menu-item:hover {
  color: var(--lt-text) !important;
  background: rgba(0, 0, 0, 0.05) !important;
}
.settings-menu .ant-menu-item-selected {
  color: var(--lt-accent) !important;
  background: rgba(22, 119, 255, 0.1) !important;
}
.settings-menu .ant-menu-item-selected::after {
  border-right-color: var(--lt-accent) !important;
}
/* 7e) Ant 弹窗头部标题 / 关闭按钮 */
.settings-modal-wrap .ant-modal-title {
  color: var(--lt-text) !important;
}
.settings-modal-wrap .ant-modal-close,
.settings-modal-wrap .ant-modal-close-icon {
  color: var(--lt-text2) !important;
}
.settings-modal-wrap .ant-modal-close:hover {
  color: var(--lt-text) !important;
  background: rgba(0, 0, 0, 0.06) !important;
}
/* 7f) 输入框 / 分段控件 / 定位按钮：深底 → 浅底 */
.size-input,
.threshold-input,
.size-input-ant,
.custom-api-input-ant,
.segmented-control,
.locate-btn,
.version-display,
.settings-content-scroll input:not([type="color"]):not([type="range"]):not([type="radio"]):not([type="checkbox"]),
.settings-content-scroll select,
.settings-content-scroll textarea {
  background: rgba(0, 0, 0, 0.04) !important;
  color: var(--lt-text) !important;
  border-color: var(--lt-border) !important;
}
.settings-section-title {
  border-bottom-color: var(--lt-border) !important;
}
.version-value {
  color: var(--lt-text) !important;
}
.version-divider {
  background: var(--lt-border) !important;
}

/* 7g) 开关 / 复选框 / 单选 / 输入步进按钮 */
.settings-modal-wrap .ant-switch {
  background: var(--chrome-switch-off) !important;
}
.settings-modal-wrap .ant-switch.ant-switch-checked {
  background: var(--lt-accent) !important;
}
.settings-modal-wrap .ant-switch .ant-switch-handle::before {
  background: #ffffff !important;
}
.settings-modal-wrap .ant-switch-inner,
.settings-modal-wrap .ant-switch-checked .ant-switch-inner {
  color: #ffffff !important;
}
.settings-modal-wrap .ant-checkbox-inner,
.settings-modal-wrap .ant-radio-inner {
  background: #ffffff !important;
  border-color: #aeb7c4 !important;
}
.settings-modal-wrap .ant-checkbox-checked .ant-checkbox-inner {
  background: var(--lt-accent) !important;
  border-color: var(--lt-accent) !important;
}
.settings-modal-wrap .ant-checkbox-checked .ant-checkbox-inner::after {
  border-color: #ffffff !important;
}
.settings-modal-wrap .ant-radio-checked .ant-radio-inner {
  background: #ffffff !important;
  border-color: var(--lt-accent) !important;
}
.settings-modal-wrap .ant-radio-checked .ant-radio-inner::after {
  background: var(--lt-accent) !important;
}
.settings-modal-wrap .ant-input-number-handler-wrap {
  background: var(--chrome-handler-bg) !important;
  border-inline-start: 1px solid var(--chrome-handler-border) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
.settings-modal-wrap .ant-input-number-handler {
  background: transparent !important;
  border-color: var(--chrome-handler-border) !important;
}
.settings-modal-wrap .ant-input-number-handler:hover {
  background: var(--chrome-handler-bg-hover) !important;
}
.settings-modal-wrap .ant-input-number-handler-up-inner,
.settings-modal-wrap .ant-input-number-handler-down-inner {
  color: var(--chrome-handler-icon) !important;
}

/* 7h) 自定义开关、卡片、分段选择器、滑块与布局预览 */
.settings-content-scroll .panel-toggle-item,
.settings-content-scroll .glass-effect-selector,
.settings-content-scroll .volume-slider-row,
.settings-content-scroll .source-item,
.settings-content-scroll .pm-card,
.settings-content-scroll .ps-card {
  background: var(--chrome-card-bg) !important;
  border-color: var(--chrome-card-border) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56), 0 6px 18px rgba(15, 23, 42, 0.07) !important;
}
.settings-content-scroll .panel-toggle-item:hover,
.settings-content-scroll .source-item:hover,
.settings-content-scroll .pm-card:hover,
.settings-content-scroll .ps-card:hover {
  background: var(--chrome-card-bg-hover) !important;
  border-color: var(--chrome-card-border-strong) !important;
}
.settings-content-scroll .panel-toggle-label,
.settings-content-scroll .toggle-label,
.settings-content-scroll .source-label,
.settings-content-scroll .source-label-text,
.settings-content-scroll .volume-value,
.settings-content-scroll .layout-option-text,
.settings-content-scroll .ps-item-label > span,
.settings-content-scroll .ps-name,
.settings-content-scroll .pm-name,
.settings-content-scroll .pm-perm {
  color: var(--lt-text) !important;
}
.settings-content-scroll .glass-option span,
.settings-content-scroll .segmented-control label {
  color: var(--lt-text2) !important;
  background: transparent !important;
  border-color: transparent !important;
}
.settings-content-scroll .glass-option:hover span,
.settings-content-scroll .segmented-control label:hover {
  color: var(--lt-text) !important;
  background: rgba(22, 119, 255, 0.06) !important;
}
.settings-content-scroll .glass-option.active span,
.settings-content-scroll .segmented-control label:has(input:checked) {
  color: var(--lt-accent) !important;
  background: rgba(22, 119, 255, 0.12) !important;
  border-color: rgba(22, 119, 255, 0.28) !important;
}
/* 分段控件的内层 <span> 只做文字变色：label 已是被填充的"按钮"，
   若再给里面的 span 叠加底色/描边，就会在蓝色按钮里再套一个更深的方框。 */
.settings-content-scroll .segmented-control input[type="radio"]:checked + span {
  color: var(--lt-accent) !important;
  background: transparent !important;
  border-color: transparent !important;
}
/* WebView2/Chromium 下选中项会叠出焦点框/内层描边，看起来像"蓝底里再套一个框"。
   处理：抹掉 label 与 radio 的焦点轮廓与阴影；给容器加内边距、
   让选中项成为一个独立圆角胶囊（去掉右侧分隔线与描边），呈现干净的"轨道内选中块"。 */
.settings-content-scroll .segmented-control {
  padding: 2px !important;
}
.settings-content-scroll .segmented-control label,
.settings-content-scroll .segmented-control label:focus,
.settings-content-scroll .segmented-control label:focus-visible,
.settings-content-scroll .segmented-control input:focus,
.settings-content-scroll .segmented-control input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
.settings-content-scroll .segmented-control label:not(:last-child) {
  border-right-color: transparent !important;
}
.settings-content-scroll .segmented-control label:has(input:checked) {
  border-color: transparent !important;
  border-radius: 5px !important;
}
.settings-content-scroll .layout-option.active .layout-option-text {
  color: var(--lt-accent) !important;
}
.settings-content-scroll .pm-perm {
  color: var(--lt-accent) !important;
  background: rgba(22, 119, 255, 0.09) !important;
  border: 1px solid rgba(22, 119, 255, 0.14) !important;
}
.settings-content-scroll .api-status {
  color: #cf1322 !important;
  background: rgba(255, 77, 79, 0.09) !important;
  border: 1px solid rgba(255, 77, 79, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42) !important;
}
.settings-content-scroll .api-status .status-dot {
  background: #ff4d4f !important;
  box-shadow: 0 0 0 3px rgba(255, 77, 79, 0.12) !important;
}
.settings-content-scroll .api-status.connected {
  color: #237804 !important;
  background: rgba(82, 196, 26, 0.09) !important;
  border-color: rgba(82, 196, 26, 0.25) !important;
}
.settings-content-scroll .api-status.connected .status-dot {
  background: #52c41a !important;
  box-shadow: 0 0 0 3px rgba(82, 196, 26, 0.12) !important;
}
.settings-content-scroll .locate-btn:hover:not(:disabled) {
  color: var(--lt-accent) !important;
  background: rgba(22, 119, 255, 0.08) !important;
  border-color: var(--lt-accent) !important;
}
.settings-content-scroll .ps-color input[type="color"] {
  background: transparent !important;
  border: 0 !important;
}
.settings-content-scroll,
.settings-sidebar {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(92, 99, 112, 0.42) rgba(31, 35, 41, 0.055) !important;
}
.settings-content-scroll::-webkit-scrollbar,
.settings-sidebar::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
  background: transparent !important;
}
.settings-content-scroll::-webkit-scrollbar-track,
.settings-sidebar::-webkit-scrollbar-track {
  background: rgba(31, 35, 41, 0.055) !important;
  border-radius: 999px !important;
}
.settings-content-scroll::-webkit-scrollbar-thumb,
.settings-sidebar::-webkit-scrollbar-thumb {
  background: rgba(92, 99, 112, 0.42) !important;
  border: 2px solid transparent !important;
  background-clip: padding-box !important;
  border-radius: 999px !important;
}
.settings-content-scroll::-webkit-scrollbar-thumb:hover,
.settings-sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(22, 119, 255, 0.54) !important;
  background-clip: padding-box !important;
}
.settings-content-scroll::-webkit-scrollbar-corner,
.settings-sidebar::-webkit-scrollbar-corner {
  background: transparent !important;
}

/* 7i) 设置图标、授权状态与内联深色主题遗留 */
.settings-menu .anticon,
.settings-menu .anticon svg {
  color: inherit !important;
  fill: currentColor !important;
}
.settings-content-scroll .disclaimer-icon,
.settings-content-scroll .locate-btn .anticon {
  color: var(--lt-text2) !important;
}
.settings-content-scroll .disclaimer-icon:hover,
.settings-content-scroll .locate-btn:hover .anticon {
  color: var(--lt-accent) !important;
}
.settings-content-scroll .about-content .anticon {
  color: var(--lt-text2) !important;
  opacity: 0.78 !important;
}
.settings-modal-wrap .screenshot-format-group .ant-radio-button-wrapper {
  background: rgba(255, 255, 255, 0.58) !important;
  color: var(--lt-text2) !important;
  border-color: var(--lt-border) !important;
}
.settings-modal-wrap .screenshot-format-group .ant-radio-button-wrapper-checked {
  background: var(--lt-accent) !important;
  color: #ffffff !important;
  border-color: var(--lt-accent) !important;
}
.settings-content-scroll [style*="color:rgba(255,255,255"],
.settings-content-scroll [style*="color: rgba(255,255,255"],
.settings-content-scroll [style*="color:rgba(255, 255, 255"],
.settings-content-scroll [style*="color: rgba(255, 255, 255"] {
  color: var(--lt-text2) !important;
}
.settings-content-scroll [style*="background:rgba(255,255,255,0.04)"],
.settings-content-scroll [style*="background: rgba(255,255,255,0.04)"] {
  background: rgba(47, 43, 36, 0.035) !important;
  border-color: var(--lt-border) !important;
}

/* 毛玻璃（默认，无 body 模式类） */
.settings-modal-wrap .ant-modal-mask,
.update-modal-wrap .ant-modal-mask,
.disclaimer-modal-wrap .ant-modal-mask {
  background: rgba(15, 23, 42, 0.22) !important;
  backdrop-filter: blur(5px) saturate(112%) !important;
  -webkit-backdrop-filter: blur(5px) saturate(112%) !important;
}

/* 半透明：保留透视层次，但不启用模糊。 */
body.glass-translucent .settings-modal-wrap .ant-modal-content,
body.glass-translucent .update-modal-wrap .ant-modal-content,
body.glass-translucent .disclaimer-modal-wrap .ant-modal-content {
  background: var(--chrome-modal-bg-translucent) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: 0 14px 42px rgba(15, 23, 42, 0.2) !important;
}
body.glass-translucent .settings-modal-wrap .ant-modal-header,
body.glass-translucent .settings-sidebar,
body.glass-translucent .settings-menu,
body.glass-translucent .settings-menu.ant-menu {
  background: rgba(248, 249, 250, 0.68) !important;
}
body.glass-translucent .settings-modal-wrap .ant-modal-mask,
body.glass-translucent .update-modal-wrap .ant-modal-mask,
body.glass-translucent .disclaimer-modal-wrap .ant-modal-mask {
  background: rgba(15, 23, 42, 0.3) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 液态玻璃：外层使用 SVG 液态滤镜，内容层透明。 */
body.glass-liquid .settings-modal-wrap .ant-modal-content,
body.glass-liquid .update-modal-wrap .ant-modal-content,
body.glass-liquid .disclaimer-modal-wrap .ant-modal-content {
  background: var(--chrome-modal-bg-liquid) !important;
  backdrop-filter: blur(8px) saturate(185%) brightness(1.08) url(#liquid-glass) !important;
  -webkit-backdrop-filter: blur(8px) saturate(185%) brightness(1.08) url(#liquid-glass) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    0 18px 52px rgba(15, 23, 42, 0.22) !important;
}
body.glass-liquid .settings-modal-wrap .ant-modal-header,
body.glass-liquid .settings-sidebar,
body.glass-liquid .settings-menu,
body.glass-liquid .settings-menu.ant-menu {
  background: rgba(248, 249, 250, 0.36) !important;
}
body.glass-liquid .settings-modal-wrap .ant-modal-mask,
body.glass-liquid .update-modal-wrap .ant-modal-mask,
body.glass-liquid .disclaimer-modal-wrap .ant-modal-mask {
  background: rgba(15, 23, 42, 0.24) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

/* 液态玻璃高级版：更通透，并增强边缘高光与色彩折射。 */
body.glass-liquid.glass-liquid-advanced .settings-modal-wrap .ant-modal-content,
body.glass-liquid.glass-liquid-advanced .update-modal-wrap .ant-modal-content,
body.glass-liquid.glass-liquid-advanced .disclaimer-modal-wrap .ant-modal-content {
  background: var(--chrome-modal-bg-liquid-adv) !important;
  backdrop-filter: blur(10px) saturate(220%) brightness(1.14) contrast(1.04) url(#liquid-glass) !important;
  -webkit-backdrop-filter: blur(10px) saturate(220%) brightness(1.14) contrast(1.04) url(#liquid-glass) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.72),
    inset 0 -1px 0 rgba(15, 23, 42, 0.08),
    0 20px 58px rgba(15, 23, 42, 0.24),
    0 0 34px rgba(120, 180, 255, 0.08) !important;
}

/* 侧栏与内容共用同一块玻璃，不再叠加一层不同透明度的底色。 */
body .settings-modal-wrap .settings-sidebar,
body .settings-modal-wrap .settings-menu,
body .settings-modal-wrap .settings-menu.ant-menu,
body .settings-modal-wrap .settings-menu.ant-menu-inline {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.glass-translucent .settings-content-scroll .pm-card,
body.glass-translucent .settings-content-scroll .ps-card {
  background: rgba(255, 255, 255, 0.58) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.glass-liquid .settings-content-scroll .pm-card,
body.glass-liquid .settings-content-scroll .ps-card {
  background: rgba(255, 255, 255, 0.3) !important;
  border-color: rgba(255, 255, 255, 0.62) !important;
  backdrop-filter: blur(10px) saturate(175%) brightness(1.06) url(#liquid-glass) !important;
  -webkit-backdrop-filter: blur(10px) saturate(175%) brightness(1.06) url(#liquid-glass) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38), 0 8px 22px rgba(15, 23, 42, 0.1) !important;
}
body.glass-liquid.glass-liquid-advanced .settings-content-scroll .pm-card,
body.glass-liquid.glass-liquid-advanced .settings-content-scroll .ps-card {
  background: rgba(255, 255, 255, 0.22) !important;
  backdrop-filter: blur(12px) saturate(210%) brightness(1.12) contrast(1.03) url(#liquid-glass) !important;
  -webkit-backdrop-filter: blur(12px) saturate(210%) brightness(1.12) contrast(1.03) url(#liquid-glass) !important;
}
body.glass-translucent .update-section-modern .version-display {
  background: rgba(255, 255, 255, 0.58) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.glass-liquid .update-section-modern .version-display {
  background: rgba(255, 255, 255, 0.3) !important;
  border-color: rgba(255, 255, 255, 0.62) !important;
  backdrop-filter: blur(10px) saturate(175%) brightness(1.06) url(#liquid-glass) !important;
  -webkit-backdrop-filter: blur(10px) saturate(175%) brightness(1.06) url(#liquid-glass) !important;
}
body.glass-liquid.glass-liquid-advanced .update-section-modern .version-display {
  background: rgba(255, 255, 255, 0.22) !important;
  backdrop-filter: blur(12px) saturate(210%) brightness(1.12) contrast(1.03) url(#liquid-glass) !important;
  -webkit-backdrop-filter: blur(12px) saturate(210%) brightness(1.12) contrast(1.03) url(#liquid-glass) !important;
}
.license-status-card-active {
  background: rgba(39, 174, 96, 0.08) !important;
  border-color: rgba(39, 174, 96, 0.28) !important;
}
.license-status-card-active .license-status-icon,
.license-status-card-active .license-status-title {
  color: #258a50 !important;
}
.license-status-card-active .license-status-description {
  color: var(--lt-text2) !important;
}
.license-status-card-active .license-status-action {
  color: #c53b32 !important;
}

/* 7j) 主界面中原先硬编码为半透明白色的功能图标 */
.idle-icon svg,
.shindo-empty .empty-icon svg,
.history-empty .empty-icon svg,
.hazard-col-empty .empty-icon svg {
  color: var(--lt-text2) !important;
}
.settings-button,
.home-btn {
  color: var(--lt-text2) !important;
}
.settings-button:hover,
.home-btn:hover {
  color: var(--lt-accent) !important;
  background: rgba(255, 255, 255, 0.68) !important;
  border-color: rgba(22, 119, 255, 0.32) !important;
}

/* 加载/空状态图标与 spinner 在浅色下使用深色 */
.loading-spinner,
.history-empty .loading-spinner,
.shindo-empty .empty-icon svg,
.history-empty .empty-icon svg,
.hazard-col-empty .empty-icon svg {
  color: var(--lt-text2) !important;
  border-color: rgba(0,0,0,0.12) !important;
  border-top-color: var(--lt-text2) !important;
}
.shindo-empty .loading-text,
.history-empty,
.hazard-col-empty {
  color: var(--lt-text2) !important;
}

/* 实时震度问号图标适配 */
.disclaimer-icon,
.disclaimer-icon svg {
  color: var(--lt-text2) !important;
}
.disclaimer-icon:hover,
.disclaimer-icon:hover svg {
  color: var(--lt-accent) !important;
}

/* 设置弹窗主按钮与对话框按钮 hover/active 状态，保证文字可读 */
.settings-modal-wrap .ant-btn-primary,
.settings-modal-wrap .ant-btn-primary:hover,
.settings-modal-wrap .ant-btn-primary:focus,
.settings-modal-wrap .ant-btn-primary:active {
  background: var(--lt-accent) !important;
  border-color: var(--lt-accent) !important;
  color: #ffffff !important;
}
.settings-modal-wrap .ant-btn-primary:hover {
  filter: brightness(1.08) !important;
}
.settings-modal-wrap .ant-btn:not(.ant-btn-primary) {
  color: var(--lt-text) !important;
}
.settings-modal-wrap .ant-btn:not(.ant-btn-primary):hover {
  background: rgba(0, 0, 0, 0.06) !important;
  color: var(--lt-text) !important;
}

/* 插件管理上传按钮文字在浅色下可见（覆盖 Ant 深色假设） */
.settings-content-scroll .pm-head .ant-btn-primary,
.settings-content-scroll .pm-head .ant-btn-primary * {
  color: #ffffff !important;
}
.settings-content-scroll .pm-head .ant-btn-primary:hover {
  filter: brightness(1.1) !important;
}
.settings-button svg,
.home-btn svg {
  color: inherit !important;
  fill: currentColor !important;
}

/* ============ 8) 更新区 / 现代更新对话框（大量深底） ============ */
.update-section,
.update-section-modern,
.changelog,
.update-dialog {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: var(--lt-border) !important;
}
.update-section-modern {
  margin-top: 22px !important;
  padding: 16px !important;
  border: 1px solid var(--lt-border) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 6px 18px rgba(15, 23, 42, 0.06) !important;
}
.update-section-modern .version-display {
  margin-bottom: 14px !important;
  padding: 13px 15px !important;
  background: rgba(255, 255, 255, 0.62) !important;
  border: 1px solid rgba(215, 220, 227, 0.82) !important;
  border-radius: 11px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56) !important;
}
.update-section-modern .check-update-btn-modern {
  border-radius: 9px !important;
  box-shadow: 0 4px 12px rgba(22, 119, 255, 0.18) !important;
}
.update-section-modern .about-expiry-info {
  padding: 8px 10px !important;
  border-radius: 9px !important;
  background: rgba(224, 152, 35, 0.08) !important;
  border: 1px solid rgba(224, 152, 35, 0.2) !important;
}
.update-dialog-modern,
.dialog-content {
  background: var(--lt-panel) !important;
  border-color: var(--lt-border) !important;
}
.dialog-header,
.dialog-footer {
  background: var(--lt-page) !important;
  border-color: var(--lt-border) !important;
}
.dialog-header h3,
.changelog h4,
.changelog h5,
.update-dialog h4 {
  color: var(--lt-text) !important;
}
.changelog pre,
.update-details,
.version-info p {
  color: var(--lt-text2) !important;
}
.changelog pre {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: var(--lt-border) !important;
}
.close-btn {
  color: var(--lt-text2) !important;
}
.close-btn:hover {
  background: rgba(0, 0, 0, 0.06) !important;
  color: var(--lt-text) !important;
}

/* ============ 9) 关于页 ============ */
.about-name,
.about-title,
.about-subtitle,
.about-data-source p,
.about-data-source strong,
.about-thanks p,
.about-contact p,
.update-details p {
  color: var(--lt-text) !important;
}
.about-version-inline,
.about-version-note,
.about-description {
  color: var(--lt-text2) !important;
}
.about-contact {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: var(--lt-border) !important;
}

/* ============ 10) Ant Design 浮层（下拉 / 气泡 / 消息 / 选择） ============ */
.ant-select-dropdown,
.ant-dropdown-menu,
.ant-popover-inner,
.ant-tooltip-inner,
.ant-message-notice-content,
.ant-modal-content,
.ant-select-selector,
.ant-input-number,
.ant-input {
  background: var(--lt-panel) !important;
  color: var(--lt-text) !important;
  border-color: var(--lt-border) !important;
}

/* 深色专用免责声明 / 更新弹层在浅色主题下显式翻转。 */
.dark-disclaimer-popover .ant-popover-inner,
.disclaimer-modal-wrap .ant-modal-content,
.update-modal-wrap .ant-modal-content {
  color: var(--lt-text) !important;
  border-color: var(--lt-border) !important;
}
.dark-disclaimer-popover .ant-popover-inner *,
.disclaimer-modal-wrap .ant-modal-title,
.disclaimer-modal-wrap .ant-modal-body,
.disclaimer-modal-wrap .ant-modal-body p {
  color: var(--lt-text) !important;
}
.dark-disclaimer-popover .ant-popover-arrow::before {
  background: var(--lt-panel) !important;
}
.ant-select-item,
.ant-dropdown-menu-item,
.ant-select-selection-item,
.ant-input,
.ant-input-number-input {
  color: var(--lt-text) !important;
}
.ant-select-item-option-selected {
  background: rgba(22, 119, 255, 0.1) !important;
}

/* ============ 11) 强调色按钮 / 选中态 ============ */
.check-update-btn,
.check-update-btn-modern,
.update-btn,
.update-btn-modern,
.ant-btn-primary {
  background: var(--lt-accent) !important;
  border-color: var(--lt-accent) !important;
  color: #ffffff !important;
}
.cancel-btn,
.cancel-btn-modern {
  background: rgba(0, 0, 0, 0.05) !important;
  color: var(--lt-text) !important;
  border-color: var(--lt-border) !important;
}
